package com.hiultra.archive.mapper;

import com.hiultra.archive.domain.ArcBox;
import com.hiultra.archive.domain.ArcFamily;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 档案盒管理Mapper接口
 *
 * @author ls
 * @date 2022-07-28
 */
public interface ArcBoxMapper
{
    /**
     * 查询档案盒管理
     *
     * @param boxId 档案盒管理主键
     * @return 档案盒管理
     */
    public ArcBox selectArcBoxByBoxId(String boxId);

    /**
     * 查询档案盒根据rfid
     *
     * @param boxRfids
     * @return 档案盒
     */
    public List<ArcBox> selectArcBoxListByRfid(@Param("boxRfids") List<String> boxRfids);


    /**
     * 查询档案盒管理列表
     *
     * @param arcBox 档案盒管理
     * @return 档案盒管理集合
     */
    public List<ArcBox> selectArcBoxList(ArcBox arcBox);

    /**
     * 新增档案盒管理
     *
     * @param arcBox 档案盒管理
     * @return 结果
     */
    public int insertArcBox(ArcBox arcBox);

    /**
     * 修改档案盒管理
     *
     * @param arcBox 档案盒管理
     * @return 结果
     */
    public int updateArcBox(ArcBox arcBox);

    /**
     * 删除档案盒管理
     *
     * @param boxId 档案盒管理主键
     * @return 结果
     */
    public int deleteArcBoxByBoxId(String boxId);

    /**
     * 批量删除档案盒管理
     *
     * @param boxIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteArcBoxByBoxIds(String[] boxIds);

    /**
     * 查询档案盒管理
     *
     * @param boxCode 档案盒号
     * @return 档案盒管理
     */
    public ArcBox selectArcBoxByBoxCode(String boxCode);


    /**
     * 校验档案盒号是否唯一
     *
     * @param arcBox 档案盒
     * @return 结果
     */
    public ArcBox checkBoxCodeUnique(ArcBox arcBox);

    /**
     * 批量新增档案盒管理
     *
     * @param arcBoxList 档案盒管理
     * @return 结果
     */
    public int batchInsertArcBox(List<ArcBox> arcBoxList);
}
